/**
 * 修改记录: 
 * 2025-11-17  AI Assistant  创建 Element UI 版本的属性配置
 */

/**
 * 父组件传参
 * @mixin
 */
export default {
  props: {
    // === 基础配置参数 ===
    major: { type: Number, default: 0 },
    minor: { type: Number, default: 0 },
    mode: { type: Number, default: 7 },
    hideColNames: { type: String, default: '' },
    disableCols: { type: String, default: '' },
    attMap: { type: Object, default: () => ({}) },
    fldList: { type: Array, default: () => [] },
    colNum: { type: Number, default: 1 },
    size: { type: String, default: 'default' }, // Element UI 尺寸: large/default/small

    // === 布局控制参数 ===
    portrait: { type: Boolean, default: false },
    invertColNames: { type: String, default: '' },
    hintTextMap: { type: Object, default: () => ({}) },

    // === 多媒体功能参数 ===
    showPhoto: { type: Boolean, default: false },
    showVideo: { type: Boolean, default: false },
    showAttach: { type: Boolean, default: false },
    attachNullAble: { type: Boolean, default: true },
    busType: { type: String, default: 'defaultBusType' },
    task: { type: String, default: '' },
    displayBoardBg: { type: Boolean, default: false },
    showDownLoadBtn: { type: Boolean, default: false },
    saveGallery: { type: Boolean, default: false },
    maxDuration: { type: Number, default: 0 },
    isCompress: { type: Boolean, default: false },

    // === 高级功能参数 ===
    onLine: { type: Boolean, default: true },
    isCustomPic: { type: Boolean, default: false },
    isCache: { type: Boolean, default: false },

    // === 文件控制器参数 ===
    fileHandler: { type: Object, default: null },
    memo: { type: String, default: '' },
    ext: { type: String, default: '' },

    // === 查询策略参数 ===
    attMapStrategy: { type: Object, default: null },
    queryParams: { type: Object, default: () => ({}) },
    resultHandler: { type: Function, default: null },

    // === 回调函数参数 ===
    onSuccess: { type: Function, default: null },
    onError: { type: Function, default: null },
    onReady: { type: Function, default: null },
    beforeCommit: { type: Function, default: null },
    clickFunction: { type: Function, default: null },
    fileAction: { type: Function, default: null },
    onOpenCamera: { type: Function, default: null },
    onCache: { type: Function, default: null },

    // === 自定义渲染参数 ===
    attItemBuilder: { type: Function, default: null },
    insertViewFunction: { type: Function, default: null },
    bottomDiyView: { type: Array, default: () => [] },

    // === 水印功能参数 ===
    waterMarkStream: { type: Function, default: null },
    waterMarkBuilder: { type: Function, default: null },
    waterMarkAlignment: { type: String, default: 'topLeft' },

    // === 模板和配置相关参数 ===
    tempUrl: { type: String, default: '' },
    tabCfgName: { type: String, default: '' },
    enableTabCfg: { type: Boolean, default: true },
    templateModel: { type: Object, default: null },
    tabname: { type: String, default: '' },
    entity: { type: Object, default: null },
    params: { type: Object, default: () => ({}) },
    attach: { type: Array, default: () => [] },
    values: { type: Object, default: () => ({}) },
    tabCfg: { type: Object, default: null },
    tab: { type: String, default: '' },
    hide: { type: String, default: '' },

    // === 文件控制器增强参数 ===
    fileTypes: { type: Array, default: () => [] },
    userRawTitle: { type: Boolean, default: false },
    uploadProgress: { type: Function, default: null },

    // === WebSocket 上传支持 ===
    enableWebSocket: { type: Boolean, default: false },
    chunkSize: { type: Number, default: 1024 * 1024 },
    wsUploadUrl: { type: String, default: '' },

    // === 缩略图支持 ===
    enableThumbnail: { type: Boolean, default: true },
    thumbnailSize: { type: Object, default: () => ({ width: 150, height: 150 }) },

    // === 上传回调增强 ===
    uploadBack: { type: Function, default: null },
    onUploadComplete: { type: Function, default: null },
    onUploadError: { type: Function, default: null }
  }
}
